Android adb shell命令详解及实例

您所在的位置:网站首页 adb shell命令大全cd Android adb shell命令详解及实例

Android adb shell命令详解及实例

2024-07-15 23:36:59| 来源: 网络整理| 查看: 265

Android的内核本身就是Linux,所以Android本身也支持Linux命令,但是因为是手机系统,所以进行了一定的删减,部分命令不支持,而不支持的部分,我们可以通过安装busybox这个软件进行填补。

认识使用android adb命令详解实例

手机执行Shell命令

在手机中执行Shell命令:1) 每次都加上adb shell来进行命令的发送与执行

adb shell

2)获取模拟器所有包名

adb shell pm list packages

3)获取模拟器所有包名并且包括APK路径

adb shell pm list packages -f

4)获取包名对应的APK路径

adb shell pm path packageName

5)清理应用数据

adb shell pm clear packageName

6)启动应用

adb shell am start -n 包名/Activity类名

例子:启动应用宝:

adb shell am start -n com.tencent.android.qqdownloader/com.tencent.assistant.activity.SplashActivity

指定模拟器启动动应用宝:

adb -s 127.0.0.1:5555 shell am start -n com.tencent.android.qqdownloader/com.tencent.assistant.activity.SplashActivity

7)关闭应用

adb shell am force-stop 包名

8)模拟输入

adb shell input text 字符串(不支持中文)

9)模拟按键

adb shell input keyevent 键值

10)模拟鼠标点击

adb shell input tap X Y

11)模拟鼠标滑动

adb shell input swipe X1 Y1 X2 Y2

12)截屏

adb shell screencap -p /sdcard/sc.png   adb shell screencap -p /sdcard/text.png

可以使用 adb shell screencap -h 查看 screencap 命令的帮助信息,下面是两个有意义的参数及含义:

参数 含义 -p 指定保存文件为 png 格式 -d display-id 指定截图的显示屏编号(有多显示屏的情况下) 实测如果指定文件名以 .png 结尾时可以省略 -p 参数;否则需要使用 -p 参数。如果不指定文件名,截图文件的内容将直接输出到 stdout。

13)屏幕录像 例如,屏幕开始录像并且储存到/sdcard中,同时名字为demo.mp4,录制屏幕以 mp4 格式保存到 /sdcard:

adb shell screenrecord /sdcard/demo.mp4

需要停止时按 Ctrl-C,默认录制时间和最长录制时间都是 180 秒。 可以使用 adb shell screenrecord --help 查看 screenrecord 命令的帮助信息,下面是常见参数及含义:

参数 含义 --size WIDTHxHEIGHT 视频的尺寸,比如 1280x720,默认是屏幕分辨率。 --bit-rate RATE 视频的比特率,默认是 4Mbps。 --time-limit TIME 录制时长,单位秒。 --verbose 输出更多信息。

14)关闭设备请求,开启设备

adb shell stop adb shell start

15)设备关机以及重启

adb reboot adb shutdown

16)设置手机IMEI/IMSI/手机号/SIM卡序列号(1.7之后版本)

adb shell setprop phone.imei 865166023949731 adb shell setprop phone.imsi 460000000000000 adb shell setprop phone.linenum 13800000000 adb shell setprop phone.simserial 89860000000000000000

16)滑动解锁 如果锁屏没有密码,是通过滑动手势解锁,那么可以通过 input swipe 来解锁。

命令(参数以机型 Nexus 5,向上滑动手势解锁举例):

adb shell input swipe 300 1000 300 500

参数 300 1000 300 500 分别表示起 始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标。17)查看内核日志

adb shell dmesg

查看设备信息

1)型号

adb shell getprop ro.product.model

2)电池状况

adb shell dumpsys battery

返回:

> adb shell dumpsys battery Current Battery Service state: AC powered: true USB powered: false Wireless powered: false status: 1 health: 1 present: false level: 100 scale: 100 voltage: 0 temperature: 295 technology:

其中 scale 代表最大电量,level 代表当前电量。上面的输出表示还剩下 100% 的电量。3)屏幕分辨率

adb shell wm size

输出示例:

Physical size: 1080x1920

该设备屏幕分辨率为 1080px * 1920px。4)屏幕密度

adb shell wm density

输出示例:

Physical density: 420

该设备屏幕密度为 420dpi。5)显示屏参

adb shell dumpsys window displays

输出示例:

  WINDOW MANAGER DISPLAY CONTENTS (dumpsys window displays) Display: mDisplayId=0 init=1080x1920 420dpi cur=1080x1920 app=1080x1794 rng=1080x1017-1810x1731 deferred=false layoutNeeded=false

其中 mDisplayId 为 显示屏编号,init 是初始分辨率和屏幕密度,app 的高度比 init 里的要小,表示屏幕底部有虚拟按键,高度为 1920 - 1794 = 126px 合 42dp。6)android_id

adb shell settings get secure android_id

输出示例:

51b6be48bac8c569

7)IMEI 在 Android 4.4 及以下版本可通过如下命令获取 IMEI:

adb shell dumpsys iphonesubinfo

输出示例:

Phone Subscriber Info: Phone Type = GSM Device ID = 860955027785041

其中的 Device ID 就是 IMEI。而在 Android 5.0 及以上版本里这个命令输出为空,得通过其它方式获取了(需要 root 权限):

adb shell su service call iphonesubinfo 1

输出示例:

  service call iphonesubinfo 1 Result: Parcel( 0x00000000: 00000000 0000000f 00360038 00310035 '........8.6.5.1.' 0x00000010: 00360036 00320030 00380039 00330032 '6.6.0.2.9.8.2.3.' 0x00000020: 00350031 00000033 '1.5.3... ')

把里面的有效内容提取出来就是 IMEI 了,比如这里的是 865166029823153。

参考:adb shell dumpsys iphonesubinfo not working since Android 5.0 Lollipop8)Android 系统版本

adb shell getprop ro.build.version.release

9)Mac 地址

adb shell cat /sys/class/net/wlan0/address

返回: f8:a9:d0:17:42:4d9)CPU 信息

adb shell cat /proc/cpuinfo

10)内存信息

adb shell cat /proc/meminfo

其中,MemTotal 就是设备的总内存,MemFree 是当前空闲内存。

更多硬件与系统属性

设备的更多硬件与系统属性可以通过如下命令查看:

adb shell cat /system/build.prop

这会输出很多信息,包括前面几个小节提到的「型号」和「Android 系统版本」等。

输出里还包括一些其它有用的信息,它们也可通过

adb shell getprop 命令单独查看

列举部分返回属性:

属性名 含义 ro.build.version.sdk SDK 版本 ro.build.version.release Android 系统版本 ro.build.version.security_patch Android 安全补丁程序级别 ro.product.model 型号 ro.product.brand 品牌 ro.product.name 设备名 ro.product.board 处理器型号 ro.product.cpu.abilist CPU 支持的 abi 列表 persist.sys.isUsbOtgEnabled 是否支持 OTG dalvik.vm.heapsize 每个应用程序的内存上限 ro.sf.lcd_density 屏幕密度

查看连接过的 WiFi 密码

注:需要 root 权限。 命令:

adb shell su cat /data/misc/wifi/*.conf

输出示例:

network={ ssid="TP-LINK_9DFC" scan_ssid=1 psk="1122334455" key_mgmt=WPA-PSK group=CCMP TKIP auth_alg=OPEN sim_num=1 priority=13893 }   network={ ssid="TP-LINK_F11E" psk="5544332211" key_mgmt=WPA-PSK sim_num=1 priority=17293 }

ssid 即为我们在 WLAN 设置里看到的名称,psk 为密码,key_mgmt 为安全加密方式。

设置系统日期和时间

注:需要 root 权限。

命令:

adb shell su date -s 20171030.161600

表示将系统日期和时间更改为 2017 年 10 月 30 日 16 点 16 分 00 秒。重启手机

adb reboot

检测设备是否已 root

adb shell su

此时命令行提示符是 $ 则表示没有 root 权限,是 # 则表示已 root。

开启/关闭 WiFi

注:需要 root 权限。

有时需要控制设备的 WiFi 状态,可以用以下指令完成。

开启 WiFi:

adb root adb shell svc wifi enable

关闭 WiFi:

adb root adb shell svc wifi disable

若执行成功,输出为空;若未取得 root 权限执行此命令,将执行失败,输出 Killed。

查看进程

adb shell ps

返回:

USER PID PPID VSIZE RSS WCHAN PC NAME root 1 0 9412 980 00000000 08073a60 S /init root 2 0 0 0 00000000 00000000 S kthreadd root 3 2 0 0 00000000 00000000 S ksoftirqd/0 root 5 2 0 0 00000000 00000000 S kworker/0:0H root 7 2 0 0 00000000 00000000 S rcu_preempt root 8 2 0 0 00000000 00000000 S rcu_sched root 9 2 0 0 00000000 00000000 S rcu_bh root 10 2 0 0 00000000 00000000 S rcuop/0 root 11 2 0 0 00000000 00000000 S rcuos/0 root 12 2 0 0 00000000 00000000 S rcuob/0 root 13 2 0 0 00000000 00000000 S migration/0 root 14 2 0 0 00000000 00000000 S watchdog/0 root 15 2 0 0 00000000 00000000 S watchdog/1 root 16 2 0 0 00000000 00000000 S migration/1 root 17 2 0 0 00000000 00000000 S ksoftirqd/1 root 18 2 0 0 00000000 00000000 S kworker/1:0 root 19 2 0 0 00000000 00000000 S kworker/1:0H

列名 含义 USER 所属用户 PID 进程 ID PPID 父进程 ID NAME 进程名

查看实时资源占用情况

adb shell top

输出返回:

PID PR CPU% S #THR VSS RSS PCY UID Name 7 1 0% S 1 0K 0K fg root rcu_preempt 1530 0 0% S 75 1633276K 104552K fg system system_server 3 0 0% S 1 0K 0K fg root ksoftirqd/0 5 0 0% S 1 0K 0K fg root kworker/0:0H 8 0 0% S 1 0K 0K fg root rcu_sched 9 0 0% S 1 0K 0K fg root rcu_bh 10 1 0% S 1 0K 0K fg root rcuop/0 11 0 0% S 1 0K 0K fg root rcuos/0 12 0 0% S 1 0K 0K fg root rcuob/0

列名 含义 PID 进程 ID PR 优先级 CPU% 当前瞬间占用 CPU 百分比 S 进程状态(R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程) #THR 线程数 VSS Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) RSS Resident Set Size 实际使用物理内存(包含共享库占用的内存) PCY 调度策略优先级,SP_BACKGROUND/SPFOREGROUND UID 进程所有者的用户 ID NAME 进程名

其他

  命令 功能 cat 显示文件内容 cd 切换目录 chmod 改变文件的存取模式/访问权限 df 查看磁盘空间使用情况 grep 过滤输出 kill 杀死指定 PID 的进程 ls 列举目录内容 mount 挂载目录的查看和管理 mv 移动或重命名文件 ps 查看正在运行的进程 rm 删除文件 top 查看进程的资源占用情况

参考:ADB Usage Complete / ADB 用法大全

         使用android adb命令详解实例

原文:  Android adb shell命令详解及实例



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭